@color: rgb(201, 207, 209);

.lock-switch {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9;
}
.lock-container {
  width: 300px;
  height: 300px;
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 100%;
}

.lock {
  background-color: @color;
  width: 120px;
  height: 90px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -60px;
  &:before,
  &:after {
    content: "";
    position: absolute;
    left: 2px;
  }

  &.close {
    &:before,
    &:after {
      animation: close 0.8s linear;
    }
  }

  &.open {
    &:before,
    &:after {
      animation: open 0.8s linear;
    }
  }

  &:before {
    border-top: 15px solid @color;
    border-left: 15px solid @color;
    border-right: 15px solid @color;
    border-radius: 50px 50px 0 0;
    width: 100px;
    height: 60px;
    top: -100px;
    left: 10px;
    transform-origin: 1px 0;
  }

  &:after {
    width: 15px;
    background-color: @color;
    height: 100px;
    top: -55px;
    left: 10px;
  }

  .keyhole {
    position: absolute;
    width: 10px;
    height: 35px;
    background-color: #fff;
    border-radius: 25px;
    top: 30px;
    left: 55px;
  }
}

@keyframes close {
  0% {
    transform: translate(0%, 0);
  }
  60% {
    transform: translate(0%, 40px);
  }
  100% {
    transform: translate(0%, 40px);
  }
}

@keyframes open {
  0% {
    transform: translate(0%, 40px);
  }
  60% {
    transform: translate(0%, 0);
  }
}

.lock-wrapper {
  position: fixed;
  top: 75px;
  right: 5px;
  z-index: 9;
  .lock-icon {
    font-size: 30px;
    &:hover {
      color: rgb(106, 178, 238);
    }
  }
}
